package com.amigo.online.provider.user.service;

import java.util.List;

import com.amigo.online.common.core.service.IService;
import com.amigo.online.common.param.result.UserInfo;
import com.amigo.online.common.param.result.VideoInfo;
import com.amigo.online.provider.user.model.entity.Follow;

public interface FollowService extends IService<Follow> {

    boolean concern(Long targetId);

    boolean cancel(Long targetId);

    List<UserInfo> getFansById(Long id, Integer page, Integer size);

    List<UserInfo> getConcernById(Long id, Integer page, Integer size);

    List<VideoInfo> getMyConcernVideos(Integer page, Integer size);

    List<UserInfo> getFriends();

    List<Long> findFollowStateByUserIdAndUserIds(Long id, List<Long> ids);

    /**
     * 判断两人是否是好友关系
     *
     * @param localUserid 当前用户id
     * @param otherUserid 目标用户id
     * @return
     */
    boolean checkIsFriend(long localUserid, long otherUserid);

    /**
     * 判断两人是否是好友关系
     *
     * @param localUserid  当前用户id
     * @param otherUserids 目标用户ids
     * @return
     */
    List<Boolean> checkIsFriends(long localUserid, List<Long> otherUserids);

}
